List MakeEmpty(){
	List p;
	p=(List)malloc(sizeof(struct LNode));
	p->Last=-1; 
	return p;
} 
Position Find( List L, ElementType X ){
	Position i=0;
	while(L->Data[i]!=X&&i<=L->Last)
	i++;
	if(i>L->Last) return ERROR;
	else return i;
}
bool Insert( List L, ElementType X, Position P ){
	Position i;
	if(L->Last==MAXSIZE-1) {
		printf("FULL");
		return false;
	}
	if(P<0||P>L->Last+1){
		printf("ILLEGAL POSITION");
		return false;
	}
	for(i=L->Last;i>=P;i--)
    	L->Data[i+1]=L->Data[i];
	L->Data[P]=X;
	L->Last++;
	return true;
}
bool Delete( List L, Position P ){
	Position i;
	if(P<0||P>L->Last){
		printf("POSITION %d EMPTY",P);
		return false;
	}
	for(i=P;i<=L->Last;i++){
		L->Data[i-1]=L->Data[i];
	}
	L->Last--;
	return true;
}
